package com.java.contact;

//数组属于引用数据类型，数组的元素既可以是基本数据类型，也可以是引用数据类型
//数组分类：一维数组、二维数组
public class Array {
    public static void main(String[] args) {
        //region 一维数组练习
        //一维数组的声明与初始化；调用指定位置的元素；
        // 获取数组长度；遍历数组；元素默认初始值；内存解析
        int[] ids;//声明
        //静态初始化：初始化时赋值
        ids= new int[] {1001,1002,1003,1004};
        //动态初始化：数组初始化与元素初始化分开进行
        String[] names = new String[5];
        //初始化后数组长度就确定了
        names[0]="颤三";
        names[1]="里斯";
        names[2]="王五";
        //names[3]="周六";
        //默认值，整形为0，字符串(引用类型)为null，char是0（展示看起来是空格）,浮点是0.0，布尔型是false
        names[4]="六七";
        for (int i=0;i< names.length;i++){
            System.out.println(names[i]);
        }
        System.out.println("****************");

        //endregion

        //region 二维数组练习
        int[] arr=new int[]{1,2,3};//一维数组
        //静态初始化
        int[][] arr1=new int[][]{{1,2,3},{4,5},{6,7,8}};
        //动态初始化
        String[][] arr2=new String[3][2];
        String[][] arr3=new String[3][];
        System.out.println(arr1[0][1]);//未定义长度的会报错，如arr3[1][]0
        //获取数组长度
        System.out.println(arr1.length);
        System.out.println(arr1[0]);//这里存的是地址值,arr是[[xxxx;arr1是[xxxx
        //遍历数组
        for (int i=0;i<arr1.length;i++){
            for (int t=0;t<arr1[i].length;t++){
                System.out.print(arr1[i][t]+";");
            }
        }
        //endregion

    }
}
